home *** CD-ROM | disk | FTP | other *** search
/ Top 200 Programs / Top 200 Programs.iso / Bob8 / THOMPSON / LIBERTY / PRODUCT / LB14W.EXE / GRAFDEMO.BAS < prev    next >
BASIC Source File  |  1996-01-22  |  2KB  |  95 lines

  1.  
  2.  
  3.     'This new version of grafdemo.bas takes advantage of the
  4.     'new !contents and !contents? commands, and it also uses
  5.     'an empty edit menu to place the default edit menu after
  6.     'File on the menu bar (a new LB feature).
  7.  
  8.     nomainwin
  9.  
  10.     texteditor #main.text, 10, 10, 175, 200
  11.     menu #main, "&File", "&Open File", [load], "&Save File", [save], "&Print Text", [print], |, "E&xit Grafdemo", [quit]
  12.     menu #main, "edit"
  13.     menu #main, "&Action", "&Draw Graphic", [go]
  14.     WindowWidth = 500 : WindowHeight = 265
  15.     open "Graf Demo" for graphics_nsb as #main
  16.     print #main, "when leftButtonDown [getPoint]"
  17.     print #main, "trapclose [quit]"
  18.  
  19. [inputLoop]
  20.  
  21.     input r$ 
  22.     goto [inputLoop]
  23.  
  24. [go]
  25.  
  26.     print #main.text, "!lines" ;
  27.     input #main.text, lines
  28.     print #main, "cls" ;
  29.     for x = 1 to lines
  30.     print #main.text, "!line " ; x ;
  31.     input #main.text, line$ 
  32.  
  33.     if word$( line$, 1 ) = "times" and x < lines then _
  34.         i = val(word$(line$, 2)) : _
  35.         x = x + 1 : _
  36.         print #main.text, "!line "; x ; : _
  37.         input #main.text, line$ : _
  38.         for x = 1 to i : _
  39.             print #main, line$ : _
  40.         next x : _
  41.         goto [skip]
  42.  
  43.     print #main, line$ ;
  44.  
  45. [skip]
  46.  
  47.     next x
  48.     print #main, "flush" ;
  49.     goto [inputLoop]
  50.  
  51. [getPoint]
  52.  
  53.     print #main.text, "place " ; MouseX ; " " ; MouseY
  54.     goto [inputLoop]
  55.  
  56. [load]
  57.  
  58.     filedialog "Load GrafDemo Text", "*.gdt", fname$
  59.     if fname$ = "" then [inputLoop]
  60.     open fname$ for input as #1
  61.     line$ = input$(#1, lof(#1))
  62.     print #main.text, "!contents line$";
  63.     close #1
  64.     goto [inputLoop]
  65.  
  66. [save]
  67.  
  68.     filedialog "Save GrafDemo Text", "*.gdt", fname$ 
  69.     if fname$ = "" then [inputLoop]
  70.     open fname$ for output as #1
  71.         print #main.text, "!contents?";
  72.         input #main.text, line$
  73.         print #1, line$
  74.     close #1
  75.     goto [inputLoop]
  76.  
  77. [print]
  78.  
  79.     print #main.text, "!lines";
  80.     input #main.text, lineCount
  81.     for x = 1 to lineCount
  82.         print #main.text, "!line "; x ;
  83.         input #main.text, lineOfText$
  84.         lprint lineOfText$
  85.     next x
  86.     dump
  87.  
  88.     goto [inputLoop]
  89.  
  90.  
  91. [quit]   'exit grafdemo.bas
  92.  
  93.     close #main
  94.     end
  95.